home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-04-20 | 41.5 KB | 1,067 lines |
-
-
-
-
-
-
- Network Working Group M. Rose
- Request for Comments: 1212 Performance Systems International
- K. McCloghrie
- Hughes LAN Systems
- Editors
- March 1991
-
-
- Concise MIB Definitions
- Status of this Memo
-
- This memo defines a format for producing MIB modules. This RFC
- specifies an IAB standards track document for the Internet community,
- and requests discussion and suggestions for improvements. Please
- refer to the current edition of the "IAB Official Protocol Standards"
- for the standardization state and status of this protocol.
- Distribution of this memo is unlimited.
-
- Table of Contents
-
- 1. Abstract.............................................. 2
- 2. Historical Perspective ............................... 2
- 3. Columnar Objects ..................................... 3
- 3.1 Row Deletion ........................................ 4
- 3.2 Row Addition ........................................ 4
- 4. Defining Objects ..................................... 5
- 4.1 Mapping of the OBJECT-TYPE macro .................... 7
- 4.1.1 Mapping of the SYNTAX clause ...................... 7
- 4.1.2 Mapping of the ACCESS clause ...................... 8
- 4.1.3 Mapping of the STATUS clause ...................... 8
- 4.1.4 Mapping of the DESCRIPTION clause ................. 8
- 4.1.5 Mapping of the REFERENCE clause ................... 8
- 4.1.6 Mapping of the INDEX clause ....................... 8
- 4.1.7 Mapping of the DEFVAL clause ...................... 10
- 4.1.8 Mapping of the OBJECT-TYPE value .................. 11
- 4.2 Usage Example ....................................... 11
- 5. Appendix: DE-osifying MIBs ........................... 13
- 5.1 Managed Object Mapping .............................. 14
- 5.1.1 Mapping to the SYNTAX clause ...................... 15
- 5.1.2 Mapping to the ACCESS clause ...................... 15
- 5.1.3 Mapping to the STATUS clause ...................... 15
- 5.1.4 Mapping to the DESCRIPTION clause ................. 15
- 5.1.5 Mapping to the REFERENCE clause ................... 16
- 5.1.6 Mapping to the INDEX clause ....................... 16
- 5.1.7 Mapping to the DEFVAL clause ...................... 16
- 5.2 Action Mapping ...................................... 16
- 5.2.1 Mapping to the SYNTAX clause ...................... 16
- 5.2.2 Mapping to the ACCESS clause ...................... 16
-
-
-
- SNMP Working Group [Page 1]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- 5.2.3 Mapping to the STATUS clause ...................... 16
- 5.2.4 Mapping to the DESCRIPTION clause ................. 16
- 5.2.5 Mapping to the REFERENCE clause ................... 16
- 6. Acknowledgements ..................................... 17
- 7. References ........................................... 18
- 8. Security Considerations............................... 19
- 9. Authors' Addresses.................................... 19
-
- 1. Abstract
-
- This memo describes a straight-forward approach toward producing
- concise, yet descriptive, MIB modules. It is intended that all
- future MIB modules be written in this format.
-
- 2. Historical Perspective
-
- As reported in RFC 1052, IAB Recommendations for the Development of
- Internet Network Management Standards [1], a two-prong strategy for
- network management of TCP/IP-based internets was undertaken. In the
- short-term, the Simple Network Management Protocol (SNMP), defined in
- RFC 1067, was to be used to manage nodes in the Internet community.
- In the long-term, the use of the OSI network management framework was
- to be examined. Two documents were produced to define the management
- information: RFC 1065, which defined the Structure of Management
- Information (SMI), and RFC 1066, which defined the Management
- Information Base (MIB). Both of these documents were designed so as
- to be compatible with both the SNMP and the OSI network management
- framework.
-
- This strategy was quite successful in the short-term: Internet-based
- network management technology was fielded, by both the research and
- commercial communities, within a few months. As a result of this,
- portions of the Internet community became network manageable in a
- timely fashion.
-
- As reported in RFC 1109, Report of the Second Ad Hoc Network
- Management Review Group [2], the requirements of the SNMP and the OSI
- network management frameworks were more different than anticipated.
- As such, the requirement for compatibility between the SMI/MIB and
- both frameworks was suspended. This action permitted the operational
- network management framework, based on the SNMP, to respond to new
- operational needs in the Internet community by producing MIB-II.
-
- In May of 1990, the core documents were elevated to "Standard
- Protocols" with "Recommended" status. As such, the Internet-standard
- network management framework consists of: Structure and
- Identification of Management Information for TCP/IP-based internets,
- RFC 1155 [3], which describes how managed objects contained in the
-
-
-
- SNMP Working Group [Page 2]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- MIB are defined; Management Information Base for Network Management
- of TCP/IP-based internets, which describes the managed objects
- contained in the MIB, RFC 1156 [4]; and, the Simple Network
- Management Protocol, RFC 1157 [5], which defines the protocol used to
- manage these objects. Consistent with the IAB directive to produce
- simple, workable systems in the short-term, the list of managed
- objects defined in the Internet-standard MIB was derived by taking
- only those elements which are considered essential. However, the SMI
- defined three extensibility mechanisms: one, the addition of new
- standard objects through the definitions of new versions of the MIB;
- two, the addition of widely-available but non-standard objects
- through the experimental subtree; and three, the addition of private
- objects through the enterprises subtree. Such additional objects can
- not only be used for vendor-specific elements, but also for
- experimentation as required to further the knowledge of which other
- objects are essential.
-
- As more objects are defined using the second method, experience has
- shown that the resulting MIB descriptions contain redundant
- information. In order to provide for MIB descriptions which are more
- concise, and yet as informative, an enhancement is suggested. This
- enhancement allows the author of a MIB to remove the redundant
- information, while retaining the important descriptive text.
-
- Before presenting the approach, a brief presentation of columnar
- object handling by the SNMP is necessary. This explains and further
- motivates the value of the enhancement.
-
- 3. Columnar Objects
-
- The SNMP supports operations on MIB objects whose syntax is
- ObjectSyntax as defined in the SMI. Informally stated, SNMP
- operations apply exclusively to scalar objects. However, it is
- convenient for developers of management applications to impose
- imaginary, tabular structures on the ordered collection of objects
- that constitute the MIB. Each such conceptual table contains zero or
- more rows, and each row may contain one or more scalar objects,
- termed columnar objects. Historically, this conceptualization has
- been formalized by using the OBJECT-TYPE macro to define both an
- object which corresponds to a table and an object which corresponds
- to a row in that table. (The ACCESS clause for such objects is
- "not-accessible", of course.) However, it must be emphasized that, at
- the protocol level, relationships among columnar objects in the same
- row is a matter of convention, not of protocol.
-
- Note that there are good reasons why the tabular structure is not a
- matter of protocol. Consider the operation of the SNMP Get-Next-PDU
- acting on the last columnar object of an instance of a conceptual
-
-
-
- SNMP Working Group [Page 3]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- row; it returns the next column of the first conceptual row or the
- first object instance occurring after the table. In contrast, if the
- rows were a matter of protocol, then it would instead return an
- error. By not returning an error, a single PDU exchange informs the
- manager that not only has the end of the conceptual row/table been
- reached, but also provides information on the next object instance,
- thereby increasing the information density of the PDU exchange.
-
- 3.1. Row Deletion
-
- Nonetheless, it is highly useful to provide a means whereby a
- conceptual row may be removed from a table. In MIB-II, this was
- achieved by defining, for each conceptual row, an integer-valued
- columnar object. If a management station sets the value of this
- object to some value, usually termed "invalid", then the effect is
- one of invalidating the corresponding row in the table. However, it
- is an implementation-specific matter as to whether an agent removes
- an invalidated entry from the table. Accordingly, management
- stations must be prepared to receive tabular information from agents
- that corresponds to entries not currently in use. Proper
- interpretation of such entries requires examination of the columnar
- object indicating the in-use status.
-
- 3.2. Row Addition
-
- It is also highly useful to have a clear understanding of how a
- conceptual row may be added to a table. In the SNMP, at the protocol
- level, a management station issues an SNMP set operation containing
- an arbitrary set of variable bindings. In the case that an agent
- detects that one or more of those variable bindings refers to an
- object instance not currently available in that agent, it may,
- according to the rules of the SNMP, behave according to any of the
- following paradigms:
-
- (1) It may reject the SNMP set operation as referring to
- non-existent object instances by returning a response
- with the error-status field set to "noSuchName" and the
- error-index field set to refer to the first vacuous
- reference.
-
- (2) It may accept the SNMP set operation as requesting the
- creation of new object instances corresponding to each
- of the object instances named in the variable bindings.
- The value of each (potentially) newly created object
- instance is specified by the "value" component of the
- relevant variable binding. In this case, if the request
- specifies a value for a newly (or previously) created
- object that it deems inappropriate by reason of value or
-
-
-
- SNMP Working Group [Page 4]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- syntax, then it rejects the SNMP set operation by
- responding with the error-status field set to badValue
- and the error-index field set to refer to the first
- offending variable binding.
-
- (3) It may accept the SNMP set operation and create new
- object instances as described in (2) above and, in
- addition, at its discretion, create supplemental object
- instances to complete a row in a conceptual table of
- which the new object instances specified in the request
- may be a part.
-
- It should be emphasized that all three of the above behaviors are
- fully conformant to the SNMP specification and are fully acceptable,
- subject to any restrictions which may be imposed by access control
- and/or the definitions of the MIB objects themselves.
-
- 4. Defining Objects
-
- The Internet-standard SMI employs a two-level approach towards object
- definition. A MIB definition consists of two parts: a textual part,
- in which objects are placed into groups, and a MIB module, in which
- objects are described solely in terms of the ASN.1 macro OBJECT-TYPE,
- which is defined by the SMI.
-
- An example of the former definition might be:
-
- OBJECT:
- -------
- sysLocation { system 6 }
-
- Syntax:
- DisplayString (SIZE (0..255))
-
- Definition:
- The physical location of this node (e.g., "telephone
- closet, 3rd floor").
-
- Access:
- read-only.
-
- Status:
- mandatory.
-
- An example of the latter definition might be:
-
- sysLocation OBJECT-TYPE
- SYNTAX DisplayString (SIZE (0..255))
-
-
-
- SNMP Working Group [Page 5]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- ACCESS read-only
- STATUS mandatory
- ::= { system 6 }
-
- In the interests of brevity and to reduce the chance of
- editing errors, it would seem useful to combine the two
- definitions. This can be accomplished by defining an
- extension to the OBJECT-TYPE macro:
-
- IMPORTS
- ObjectName
- FROM RFC1155-SMI
- DisplayString
- FROM RFC1158-MIB;
-
- OBJECT-TYPE MACRO ::=
- BEGIN
- TYPE NOTATION ::=
- -- must conform to
- -- RFC1155's ObjectSyntax
- "SYNTAX" type(ObjectSyntax)
- "ACCESS" Access
- "STATUS" Status
- DescrPart
- ReferPart
- IndexPart
- DefValPart
- VALUE NOTATION ::= value (VALUE ObjectName)
-
- Access ::= "read-only"
- | "read-write"
- | "write-only"
- | "not-accessible"
- Status ::= "mandatory"
- | "optional"
- | "obsolete"
- | "deprecated"
-
- DescrPart ::=
- "DESCRIPTION" value (description DisplayString)
- | empty
-
- ReferPart ::=
- "REFERENCE" value (reference DisplayString)
- | empty
-
- IndexPart ::=
- "INDEX" "{" IndexTypes "}"
-
-
-
- SNMP Working Group [Page 6]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- | empty
- IndexTypes ::=
- IndexType | IndexTypes "," IndexType
- IndexType ::=
- -- if indexobject, use the SYNTAX
- -- value of the correspondent
- -- OBJECT-TYPE invocation
- value (indexobject ObjectName)
- -- otherwise use named SMI type
- -- must conform to IndexSyntax below
- | type (indextype)
-
- DefValPart ::=
- "DEFVAL" "{" value (defvalue ObjectSyntax) "}"
- | empty
-
- END
-
- IndexSyntax ::=
- CHOICE {
- number
- INTEGER (0..MAX),
- string
- OCTET STRING,
- object
- OBJECT IDENTIFIER,
- address
- NetworkAddress,
- ipAddress
- IpAddress
- }
-
-
- 4.1. Mapping of the OBJECT-TYPE macro
-
- It should be noted that the expansion of the OBJECT-TYPE macro is
- something which conceptually happens during implementation and not
- during run-time.
-
- 4.1.1. Mapping of the SYNTAX clause
-
- The SYNTAX clause, which must be present, defines the abstract data
- structure corresponding to that object type. The ASN.1 language [6]
- is used for this purpose. However, the SMI purposely restricts the
- ASN.1 constructs which may be used. These restrictions are made
- expressly for simplicity.
-
-
-
-
-
- SNMP Working Group [Page 7]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- 4.1.2. Mapping of the ACCESS clause
-
- The ACCESS clause, which must be present, defines the minimum level
- of support required for that object type. As a local matter,
- implementations may support other access types (e.g., an
- implementation may elect to permitting writing a variable marked as
- read-only). Further, protocol-specific "views" (e.g., those
- indirectly implied by an SNMP community) may make further
- restrictions on access to a variable.
-
- 4.1.3. Mapping of the STATUS clause
-
- The STATUS clause, which must be present, defines the implementation
- support required for that object type.
-
- 4.1.4. Mapping of the DESCRIPTION clause
-
- The DESCRIPTION clause, which need not be present, contains a textual
- definition of that object type which provides all semantic
- definitions necessary for implementation, and should embody any
- information which would otherwise be communicated in any ASN.1
- commentary annotations associated with the object. Note that, in
- order to conform to the ASN.1 syntax, the entire value of this clause
- must be enclosed in double quotation marks, although the value may be
- multi-line.
-
- Further, note that if the MIB module does not contain a textual
- description of the object type elsewhere then the DESCRIPTION clause
- must be present.
-
- 4.1.5. Mapping of the REFERENCE clause
-
- The REFERENCE clause, which need not be present, contains a textual
- cross-reference to an object defined in some other MIB module. This
- is useful when de-osifying a MIB produced by some other organization.
-
- 4.1.6. Mapping of the INDEX clause
-
- The INDEX clause, which may be present only if that object type
- corresponds to a conceptual row, defines instance identification
- information for that object type. (Historically, each MIB definition
- contained a section entitled "Identification of OBJECT instances for
- use with the SNMP". By using the INDEX clause, this section need no
- longer occur as this clause concisely captures the precise semantics
- needed for instance identification.)
-
- If the INDEX clause is not present, and the object type corresponds
- to a non-columnar object, then instances of the object are identified
-
-
-
- SNMP Working Group [Page 8]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- by appending a sub-identifier of zero to the name of that object.
- Further, note that if the MIB module does not contain a textual
- description of how instance identification information is derived for
- columnar objects, then the INDEX clause must be present.
-
- To define the instance identification information, determine which
- object value(s) will unambiguously distinguish a conceptual row. The
- syntax of those objects indicate how to form the instance-identifier:
-
- (1) integer-valued: a single sub-identifier taking the
- integer value (this works only for non-negative
- integers);
-
- (2) string-valued, fixed-length strings: `n' sub-identifiers,
- where `n' is the length of the string (each octet of the
- string is encoded in a separate sub-identifier);
-
- (3) string-valued, variable-length strings: `n+1' sub-
- identifiers, where `n' is the length of the string (the
- first sub-identifier is `n' itself, following this, each
- octet of the string is encoded in a separate sub-
- identifier);
-
- (4) object identifier-valued: `n+1' sub-identifiers, where
- `n' is the number of sub-identifiers in the value (the
- first sub-identifier is `n' itself, following this, each
- sub-identifier in the value is copied);
-
- (5) NetworkAddress-valued: `n+1' sub-identifiers, where `n'
- depends on the kind of address being encoded (the first
- sub-identifier indicates the kind of address, value 1
- indicates an IpAddress); or,
-
- (6) IpAddress-valued: 4 sub-identifiers, in the familiar
- a.b.c.d notation.
-
- Note that if an "indextype" value is present (e.g., INTEGER rather
- than ifIndex), then a DESCRIPTION clause must be present; the text
- contained therein indicates the semantics of the "indextype" value.
-
-
-
-
-
-
-
-
-
-
-
-
- SNMP Working Group [Page 9]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- By way of example, in the context of MIB-II [7], the following INDEX
- clauses might be present:
-
- objects under INDEX clause
- ----------------- ------------
- ifEntry { ifIndex }
- atEntry { atNetIfIndex,
- atNetAddress }
- ipAddrEntry { ipAdEntAddr }
- ipRouteEntry { ipRouteDest }
- ipNetToMediaEntry { ipNetToMediaIfIndex,
- ipNetToMediaNetAddress }
- tcpConnEntry { tcpConnLocalAddress,
- tcpConnLocalPort,
- tcpConnRemoteAddress,
- tcpConnRemotePort }
- udpEntry { udpLocalAddress,
- udpLocalPort }
- egpNeighEntry { egpNeighAddr }
-
-
- 4.1.7. Mapping of the DEFVAL clause
-
- The DEFVAL clause, which need not be present, defines an acceptable
- default value which may be used when an object instance is created at
- the discretion of the agent acting in conformance with the third
- paradigm described in Section 4.2 above.
-
- During conceptual row creation, if an instance of a columnar object
- is not present as one of the operands in the correspondent SNMP set
- operation, then the value of the DEFVAL clause, if present, indicates
- an acceptable default value that the agent might use.
-
- The value of the DEFVAL clause must, of course, correspond to the
- SYNTAX clause for the object. Note that if an operand to the SNMP
- set operation is an instance of a read-only object, then the error
- noSuchName will be returned. As such, the DEFVAL clause can be used
- to provide an acceptable default value that the agent might use.
-
- It is possible that no acceptable default value may exist for any of
- the columnar objects in a conceptual row for which the creation of
- new object instances is allowed. In this case, the objects specified
- in the INDEX clause must have a corresponding ACCESS clause value of
- read-write.
-
-
-
-
-
-
-
- SNMP Working Group [Page 10]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- By way of example, consider the following possible DEFVAL clauses:
-
- ObjectSyntax DEFVAL clause
- ----------------- ------------
- INTEGER 1 -- same for Counter, Gauge, TimeTicks
- OCTET STRING 'ffffffffffff'h
- DisplayString "any NVT ASCII string"
- OBJECT IDENTIFIER sysDescr
- OBJECT IDENTIFIER { system 2 }
- NULL NULL
- NetworkAddress { internet 'c0210415'h }
- IpAddress 'c0210415'h -- 192.33.4.21
-
-
- 4.1.8. Mapping of the OBJECT-TYPE value
-
- The value of an invocation of the OBJECT-TYPE macro is the name of
- the object, which is an object identifier.
-
- 4.2. Usage Example
-
- Consider how the ipNetToMediaTable from MIB-II might be fully
- described:
-
- -- the IP Address Translation tables
-
- -- The Address Translation tables contain IpAddress to
- -- "physical" address equivalences. Some interfaces do not
- -- use translation tables for determining address equivalences
- -- (e.g., DDN-X.25 has an algorithmic method); if all
- -- interfaces are of this type, then the Address Translation
- -- table is empty, i.e., has zero entries.
-
- ipNetToMediaTable OBJECT-TYPE
- SYNTAX SEQUENCE OF IpNetToMediaEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "The IP Address Translation table used for mapping
- from IP addresses to physical addresses."
- ::= { ip 22 }
-
- ipNetToMediaEntry OBJECT-TYPE
- SYNTAX IpNetToMediaEntry
- ACCESS not-accessible
- STATUS mandatory
- DESCRIPTION
- "Each entry contains one IpAddress to 'physical'
-
-
-
- SNMP Working Group [Page 11]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- address equivalence."
- INDEX { ipNetToMediaIfIndex,
- ipNetToMediaNetAddress }
- ::= { ipNetToMediaTable 1 }
-
- IpNetToMediaEntry ::=
- SEQUENCE {
- ipNetToMediaIfIndex
- INTEGER,
- ipNetToMediaPhysAddress
- OCTET STRING,
- ipNetToMediaNetAddress
- IpAddress,
- ipNetoToMediaType
- INTEGER
- }
-
- ipNetToMediaIfIndex OBJECT-TYPE
- SYNTAX INTEGER
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The interface on which this entry's equivalence
- is effective. The interface identified by a
- particular value of this index is the same
- interface as identified by the same value of
- ifIndex."
- ::= { ipNetToMediaEntry 1 }
-
- ipNetToMediaPhysAddress OBJECT-TYPE
- SYNTAX OCTET STRING
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The media-dependent 'physical' address."
- ::= { ipNetToMediaEntry 2 }
-
- ipNetToMediaNetAddress OBJECT-TYPE
- SYNTAX IpAddress
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The IpAddress corresponding to the media-
- dependent 'physical' address."
- ::= { ipNetToMediaEntry 3 }
-
- ipNetToMediaType OBJECT-TYPE
- SYNTAX INTEGER {
-
-
-
- SNMP Working Group [Page 12]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- other(1), -- none of the following
- invalid(2), -- an invalidated mapping
- dynamic(3),
- static(4)
- }
- ACCESS read-write
- STATUS mandatory
- DESCRIPTION
- "The type of mapping.
-
- Setting this object to the value invalid(2) has
- the effect of invalidating the corresponding entry
- in the ipNetToMediaTable. That is, it effectively
- disassociates the interface identified with said
- entry from the mapping identified with said entry.
- It is an implementation-specific matter as to
- whether the agent removes an invalidated entry
- from the table. Accordingly, management stations
- must be prepared to receive tabular information
- from agents that corresponds to entries not
- currently in use. Proper interpretation of such
- entries requires examination of the relevant
- ipNetToMediaType object."
- ::= { ipNetToMediaEntry 4 }
-
-
- 5. Appendix: DE-osifying MIBs
-
- There has been an increasing amount of work recently on taking MIBs
- defined by other organizations (e.g., the IEEE) and de-osifying them
- for use with the Internet-standard network management framework. The
- steps to achieve this are straight-forward, though tedious. Of
- course, it is helpful to already be experienced in writing MIB
- modules for use with the Internet-standard network management
- framework.
-
- The first step is to construct a skeletal MIB module, e.g.,
-
- RFC1213-MIB DEFINITIONS ::= BEGIN
-
- IMPORTS
- experimental, OBJECT-TYPE, Counter
- FROM RFC1155-SMI;
-
- -- contact IANA for actual number
- root OBJECT IDENTIFIER ::= { experimental xx }
-
- END
-
-
-
- SNMP Working Group [Page 13]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- The next step is to categorize the objects into groups. For
- experimental MIBs, optional objects are permitted. However, when a
- MIB module is placed in the Internet-standard space, these optional
- objects are either removed, or placed in a optional group, which, if
- implemented, all objects in the group must be implemented. For the
- first pass, it is wisest to simply ignore any optional objects in the
- original MIB: experience shows it is better to define a core MIB
- module first, containing only essential objects; later, if experience
- demands, other objects can be added.
-
- It must be emphasized that groups are "units of conformance" within a
- MIB: everything in a group is "mandatory" and implementations do
- either whole groups or none.
-
- 5.1. Managed Object Mapping
-
- Next for each managed object class, determine whether there can exist
- multiple instances of that managed object class. If not, then for
- each of its attributes, use the OBJECT-TYPE macro to make an
- equivalent definition.
-
- Otherwise, if multiple instances of the managed object class can
- exist, then define a conceptual table having conceptual rows each
- containing a columnar object for each of the managed object class's
- attributes. If the managed object class is contained within the
- containment tree of another managed object class, then the assignment
- of an object type is normally required for each of the "distinguished
- attributes" of the containing managed object class. If they do not
- already exist within the MIB module, then they can be added via the
- definition of additional columnar objects in the conceptual row
- corresponding to the contained managed object class.
-
- In defining a conceptual row, it is useful to consider the
- optimization of network management operations which will act upon its
- columnar objects. In particular, it is wisest to avoid defining more
- columnar objects within a conceptual row, than can fit in a single
- PDU. As a rule of thumb, a conceptual row should contain no more
- than approximately 20 objects. Similarly, or as a way to abide by
- the "20 object guideline", columnar objects should be grouped into
- tables according to the expected grouping of network management
- operations upon them. As such, the content of conceptual rows should
- reflect typical access scenarios, e.g., they should be organized
- along functional lines such as one row for statistics and another row
- for parameters, or along usage lines such as commonly-needed objects
- versus rarely-needed objects.
-
- On the other hand, the definition of conceptual rows where the number
- of columnar objects used as indexes outnumbers the number used to
-
-
-
- SNMP Working Group [Page 14]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- hold information, should also be avoided. In particular, the
- splitting of a managed object class's attributes into many conceptual
- tables should not be used as a way to obtain the same degree of
- flexibility/complexity as is often found in MIB's with a myriad of
- optionals.
-
- 5.1.1. Mapping to the SYNTAX clause
-
- When mapping to the SYNTAX clause of the OBJECT-type macro:
-
- (1) An object with BOOLEAN syntax becomes an INTEGER taking
- either of values true(1) or false(2).
-
- (2) An object with ENUMERATED syntax becomes an INTEGER,
- taking any of the values given.
-
- (3) An object with BIT STRING syntax containing no more than
- 32 bits becomes an INTEGER defined as a sum; otherwise if
- more than 32 bits are present, the object becomes an
- OCTET STRING, with the bits numbered from left-to-right,
- in which the least significant bits of the last octet may
- be "reserved for future use".
-
- (4) An object with a character string syntax becomes either
- an OCTET STRING or a DisplayString, depending on the
- repertoire of the character string.
-
- (5) An non-tabular object with a complex syntax, such as REAL
- or EXTERNAL, must be decomposed, usually into an OCTET
- STRING (if sensible). As a rule, any object with a
- complicated syntax should be avoided.
-
- (6) Tabular objects must be decomposed into rows of columnar
- objects.
-
- 5.1.2. Mapping to the ACCESS clause
-
- This is straight-forward.
-
- 5.1.3. Mapping to the STATUS clause
-
- This is usually straight-forward; however, some osified-MIBs use the
- term "recommended". In this case, a choice must be made between
- "mandatory" and "optional".
-
- 5.1.4. Mapping to the DESCRIPTION clause
-
- This is straight-forward: simply copy the text, making sure that any
-
-
-
- SNMP Working Group [Page 15]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- embedded double quotation marks are sanitized (i.e., replaced with
- single-quotes or removed).
-
- 5.1.5. Mapping to the REFERENCE clause
-
- This is straight-forward: simply include a textual reference to the
- object being mapped, the document which defines the object, and
- perhaps a page number in the document.
-
- 5.1.6. Mapping to the INDEX clause
-
- Decide how instance-identifiers for columnar objects are to be formed
- and define this clause accordingly.
-
- 5.1.7. Mapping to the DEFVAL clause
-
- Decide if a meaningful default value can be assigned to the object
- being mapped, and if so, define the DEFVAL clause accordingly.
-
- 5.2. Action Mapping
-
- Actions are modeled as read-write objects, in which writing a
- particular value results in the action taking place.
-
- 5.2.1. Mapping to the SYNTAX clause
-
- Usually an INTEGER syntax is used with a distinguished value provided
- for each action that the object provides access to. In addition,
- there is usually one other distinguished value, which is the one
- returned when the object is read.
-
- 5.2.2. Mapping to the ACCESS clause
-
- Always use read-write.
-
- 5.2.3. Mapping to the STATUS clause
-
- This is straight-forward.
-
- 5.2.4. Mapping to the DESCRIPTION clause
-
- This is straight-forward: simply copy the text, making sure that any
- embedded double quotation marks are sanitized (i.e., replaced with
- single-quotes or removed).
-
- 5.2.5. Mapping to the REFERENCE clause
-
- This is straight-forward: simply include a textual reference to the
-
-
-
- SNMP Working Group [Page 16]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- action being mapped, the document which defines the action, and
- perhaps a page number in the document.
-
- 6. Acknowledgements
-
- This document was produced by the SNMP Working Group:
-
- Anne Ambler, Spider
- Karl Auerbach, Sun
- Fred Baker, ACC
- Ken Brinkerhoff
- Ron Broersma, NOSC
- Jack Brown, US Army
- Theodore Brunner, Bellcore
- Jeffrey Buffum, HP
- John Burress, Wellfleet
- Jeffrey D. Case, University of Tennessee at Knoxville
- Chris Chiptasso, Spartacus
- Paul Ciarfella, DEC
- Bob Collet
- John Cook, Chipcom
- Tracy Cox, Bellcore
- James R. Davin, MIT-LCS
- Eric Decker, cisco
- Kurt Dobbins, Cabletron
- Nadya El-Afandi, Network Systems
- Gary Ellis, HP
- Fred Engle
- Mike Erlinger
- Mark S. Fedor, PSI
- Richard Fox, Synoptics
- Karen Frisa, CMU
- Chris Gunner, DEC
- Fred Harris, University of Tennessee at Knoxville
- Ken Hibbard, Xylogics
- Ole Jacobsen, Interop
- Ken Jones
- Satish Joshi, Synoptics
- Frank Kastenholz, Racal-Interlan
- Shimshon Kaufman, Spartacus
- Ken Key, University of Tennessee at Knoxville
- Jim Kinder, Fibercom
- Alex Koifman, BBN
- Christopher Kolb, PSI
- Cheryl Krupczak, NCR
- Paul Langille, DEC
- Peter Lin, Vitalink
- John Lunny, TWG
-
-
-
- SNMP Working Group [Page 17]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- Carl Malamud
- Randy Mayhew, University of Tennessee at Knoxville
- Keith McCloghrie, Hughes LAN Systems
- Donna McMaster, David Systems
- Lynn Monsanto, Sun
- Dave Perkins, 3COM
- Jim Reinstedler, Ungerman Bass
- Anil Rijsinghani, DEC
- Kathy Rinehart, Arnold AFB
- Kary Robertson
- Marshall T. Rose, PSI (chair)
- L. Michael Sabo, NCSC
- Jon Saperia, DEC
- Greg Satz, cisco
- Martin Schoffstall, PSI
- John Seligson
- Steve Sherry, Xyplex
- Fei Shu, NEC
- Sam Sjogren, TGV
- Mark Sleeper, Sparta
- Lance Sprung
- Mike St.Johns
- Bob Stewart, Xyplex
- Emil Sturniold
- Kaj Tesink, Bellcore
- Dean Throop, Data General
- Bill Townsend, Xylogics
- Maurice Turcotte, Racal-Milgo
- Kannan Varadhou
- Sudhanshu Verma, HP
- Bill Versteeg, Network Research Corporation
- Warren Vik, Interactive Systems
- David Waitzman, BBN
- Steve Waldbusser, CMU
- Dan Wintringhan
- David Wood
- Wengyik Yeong, PSI
- Jeff Young, Cray Research
-
- 7. References
-
- [1] Cerf, V., "IAB Recommendations for the Development of Internet
- Network Management Standards", RFC 1052, NRI, April 1988.
-
- [2] Cerf, V., "Report of the Second Ad Hoc Network Management Review
- Group", RFC 1109, NRI, August 1989.
-
- [3] Rose M., and K. McCloghrie, "Structure and Identification of
-
-
-
- SNMP Working Group [Page 18]
-
- RFC 1212 Concise MIB Definitions March 1991
-
-
- Management Information for TCP/IP-based internets", RFC 1155,
- Performance Systems International, Hughes LAN Systems, May 1990.
-
- [4] McCloghrie K., and M. Rose, "Management Information Base for
- Network Management of TCP/IP-based internets", RFC 1156, Hughes
- LAN Systems, Performance Systems International, May 1990.
-
- [5] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
- Network Management Protocol", RFC 1157, SNMP Research,
- Performance Systems International, Performance Systems
- International, MIT Laboratory for Computer Science, May 1990.
-
- [6] Information processing systems - Open Systems Interconnection -
- Specification of Abstract Syntax Notation One (ASN.1),
- International Organization for Standardization International
- Standard 8824, December 1987.
-
- [7] Rose M., Editor, "Management Information Base for Network
- Management of TCP/IP-based internets: MIB-II", RFC 1213,
- Performance Systems International, March 1991.
-
- 8. Security Considerations
-
- Security issues are not discussed in this memo.
-
- 9. Authors' Addresses
-
- Marshall T. Rose
- Performance Systems International
- 5201 Great America Parkway
- Suite 3106
- Santa Clara, CA 95054
-
- Phone: +1 408 562 6222
- EMail: mrose@psi.com
- X.500: rose, psi, us
-
-
- Keith McCloghrie
- Hughes LAN Systems
- 1225 Charleston Road
- Mountain View, CA 94043
- 1225 Charleston Road
- Mountain View, CA 94043
-
- Phone: (415) 966-7934
- EMail: kzm@hls.com
-
-
-
-
- SNMP Working Group [Page 19]
-